import request from "@/utils/request";

/**
 * 修改自定义报表
 * @param {*} parameter
 * @returns
 */
export function updateCustomReportApi (parameter) {
  return request({
    url: '/report/' + parameter.id,
    // url: '/mock/66/report/' + parameter.id,
    method: 'put',
    data: parameter,
  })
}

/**
 * 修改自定义报表
 * @param {*} parameter
 * @returns
 */
export function get_datasourceListApi (parameter) {
  return request({
    url: '/profile/datasource',
    // url: '/mock/66/report/' + parameter.id,
    method: 'get',
    data: parameter,
  })
}

/**
 * 创建自定义报表
 * @param {*} parameter
 * @returns
 */
export function setCustomReportApi (parameter) {
  return request({
    url: '/report',
    // url: '/mock/66/report',
    method: 'post',
    data: parameter,
  })
}

/**
 * 获取数据集列表
 * @param {*} parameter
 * @returns
 */
export function getDsListApi (parameter) {
  return request({
    url: '/report/'+ parameter.id +'/dataset',
    // url: '/mock/66/report/'+ parameter.id +'/dataset',
    method: 'get',
    data: parameter,
  })
}

/**
 * 查看已有数据集
 * @param {*} parameter
 * @returns
 */
export function getHaveDsApi (parameter) {
  return request({
    url: '/dataset',
    // url: '/mock/66/dataset',
    method: 'get',
    data: parameter,
  })
}

/**
 * 获取所有报表的数据集
 * @returns
 */
export function getAllDatasetApi () {
  return request({
    url: '/dataset',
    method: 'get',
  })
}

/**
 * 设置报表数据集（自定义报表第二步完成点下一步调用）
 * @param {*} parameter
 * @returns
 */
export function setReportDsApi (parameter) {
  return request({
    url: '/report/'+ parameter.id + '/dataset',
    // url: '/mock/66/report/'+ parameter.id + '/dataset',
    method: 'post',
    data: parameter.body,
  })
}

/**
 * 获取修改报表数据集
 * @param {*} parameter
 * @returns
 */
export function getUpdateReportDsApi (parameter) {
  return request({
    url: '/dataset/'+parameter.id,
    // url: '/mock/66/dataset/'+parameter.id,
    method: 'get',
    data: parameter,
  })
}

/**
 * 删除报表数据集
 * @param {*} parameter
 * @returns
 */
export function deleteReportDsApi (parameter) {
  return request({
    url: '/dataset/'+ parameter.id,
    // url: '/mock/66/dataset/'+ parameter.id,
    method: 'delete',
    data: parameter,
  })
}

/**
 * 查询报表id
 * @param {*} parameter
 * @returns
 */
export function getReportIdApi (parameter) {
  return request({
    url: '/report/' + parameter.id,
    // url: '/mock/66/report/' + parameter.id,
    method: 'get',
    data: parameter,
  })
}

/**
 * sql查询
 * @param {*} parameter
 * @returns
 */
export function querySQLApi (parameter) {
  return request({
    url: '/datasource/'+ parameter.id +'/analysis/sql',
    // url: 'http://10.8.0.1:3000/mock/66/datasource/'+ parameter.id +'/analysis/sql',
    method: 'post',
    data: {sql: parameter.sql},
  })
}

/**
 * 获取数据库
 * @param {*} parameter
 * @returns
 */
export function getDataTableApi (parameter) {
  return request({
    url: '/datasource/'+ parameter.id +'/table',
    // url: `http://10.8.0.1:3000/mock/66/datasource/${parameter.id}/table`,
    method: 'get',
    data: parameter,
  })
}

/**
 * 获取数据库下的数据表字段
 * @param {*} parameter
 * @returns
 */
export function getDataTableColumnApi (parameter) {
  return request({
    url: '/datasource/'+ parameter.id +'/table/'+ parameter.tableName +'/column',
    // url: `http://10.8.0.1:3000/mock/66/datasource/${parameter.id}/table/${parameter.tableName}/column`,
    method: 'get',
    data: parameter,
  })
}

/**
 * 查询使用数据集的报表列表
 * @param {*} parameter
 * @returns
 */
export function getBeUsingReoport (parameter) {
  return request({
    url: '/dataset/' + parameter.id + '/report',
    // url: `http://10.8.0.1:3000/mock/66/dataset/${parameter.id}/report`,
    method: 'get',
    data: parameter,
  })
}

export function deleteDataSetApi(datasetId){
  return request({
    url: '/dataset/' + datasetId,
    method: 'delete'
  })
}
